package cn.csc.module.pay.dal.dataobject.fund;

import lombok.*;

import java.math.*;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import cn.csc.framework.mybatis.core.dataobject.BaseDO;

/**
 * 用户资金 DO
 *
 * @author liuchuang
 */
@TableName("pay_fund")
@KeySequence("pay_fund_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PayFundDO extends BaseDO {

    /**
     * 标识Id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private BigInteger id;
    /**
     * 商户编号
     */
    private BigInteger merchantId;
    /**
     * 商户用户ID
     */
    private String appUserId;
    /**
     * 可用余额
     */
    private BigDecimal balance;
    /**
     * 累计订单总额
     */
    private BigDecimal balanceTotal;
    /**
     * 累计到账子账户总额
     */
    private BigDecimal arrivalTotal;
    /**
     * 冻结资金
     */
    private BigDecimal freeze;
    /**
     * 总额
     */
    private BigDecimal amount;
    /**
     * 扣除通联支付手续费的金额
     */
    private BigDecimal amountCompute;
    /**
     * 平安银行见证宝维一编码
     */
    private String jzbCode;
    /**
     * 见证宝同步状态0:未同步;1:同步
     */
    private Integer jzbStatus;
    /**
     * 虚拟会员ID，与平安鉴证宝一一对应
     */
    private String vMemberId;
    /**
     * 提现金额的可提现的额度
     */
    private String amountQuota;
    /**
     * 服务费利率
     */
    private Double interestRate;
    /**
     * 设置取默认或者手动设置费率 1:默认 2：手动
     */
    private Byte setUp;
    /**
     * 会员电子协议编号
     */
    private String contractNo;
    /**
     * 见证宝签约否成功标志S-成功 F-失败
     */
    private String reinSuccessFlag;
    /**
     * 见证宝签约IP地址
     */
    private String ipAddress;
    /**
     * 见证宝签约MAC地址
     */
    private String macAddress;
    /**
     * 见证宝签约渠道1-app 2-平台H5网页 3-公众号 4-小程序    功能标志FunctionFlag=1时必输
     */
    private String signChannel;
    /**
     * 是否提现签约 0:未签约 1:已签约 2:签约失败
     */
    private Integer signStatus;

}
